package br.ifrn.diacin.ctrlAula.negocio;

import java.util.List;

import javax.ejb.Stateless;

import br.ifrn.diacin.ctrlAula.integracao.model.Ambiente;
import br.ifrn.diacin.ctrlAula.integracao.model.TipoAmbiente;

@Stateless
public class CadastroAmbienteBean extends GenericBean implements
		CadastroAmbiente {

	@Override
	public boolean verificarAmbiente(String nome) {
		if (getDao().listarComRestricao(Ambiente.class, "nome = " + nome)
				.size() == 0) {
			return true;
		}
		return false;
	}

	@Override
	public Ambiente cadastrarAmbiente(String nome, String descricao,
			TipoAmbiente tipoAmbiente) {
		Ambiente a = new Ambiente(nome, descricao, tipoAmbiente);
		getDao().salvar(a);
		return a;
	}

	@Override
	public boolean excluirAmbiente(int id) {
		try {
			getDao().excluirPorId(Ambiente.class, id);
			return true;
		} catch (NullPointerException e) {
			return false;
		}
	}

	@Override
	public Ambiente atualizarAmbiente(int id, String nome, String descricao,
			TipoAmbiente tipoAmbiente) {
		Ambiente a = getDao().pesquisarPorId(Ambiente.class, id);
		a.setNome(nome);
		a.setDescricao(descricao);
		a.setTipoAmbiente(tipoAmbiente);
		a = getDao().atualizar(a);
		return a;
	}
	
	@Override
	public List<Ambiente> listarTodosAmbientes(){
		return getDao().listarTodos(Ambiente.class);
	}

}
